/**
 * 
 */
package br.com.felipe.agendamento.entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.xml.bind.annotation.XmlRootElement;

import org.codehaus.jackson.annotate.JsonBackReference;

/**
 * @author Felipe Tavares
 *
 */
@Entity
@Table(name="telefone")
@XmlRootElement
public class TelefoneDto implements Serializable{
	
	@Transient
	private static final long serialVersionUID = 8054503765080565994L;

	@Id @GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id_telefone")
	private Integer idTelefone;
	
	@ManyToOne
	@JoinColumn(name="fk_pessoa")
	@JsonBackReference("tel-pessoa")
	//@JsonIgnore
	private PessoaDto pessoaDto;
	
	@ManyToOne
	@JoinColumn(name="fk_consultorio")
	private ConsultorioDto consultorioDto;
	
	@Column(name="numero_telefone", length=11)
	private String numTelefone;

	public TelefoneDto() {}

	public TelefoneDto(ConsultorioDto consultorioDto, String numTelefone) {
		setConsultorioDto(consultorioDto);
		setNumTelefone(numTelefone);
	}
	public TelefoneDto(PessoaDto pessoa, String numTelefone) {
		setPessoaDto(pessoa);
		setNumTelefone(numTelefone);
	}

	public Integer getIdTelefone() {
		return idTelefone;
	}

	public void setIdTelefone(Integer idTelefone) {
		this.idTelefone = idTelefone;
	}

	public PessoaDto getPessoaDto() {
		return pessoaDto;
	}

	public void setPessoaDto(PessoaDto pessoaDto) {
		this.pessoaDto = pessoaDto;
	}

	public String getNumTelefone() {
		return numTelefone;
	}

	public void setNumTelefone(String numTelefone) {
		this.numTelefone = numTelefone;
	}

	public ConsultorioDto getConsultorioDto() {
		return consultorioDto;
	}

	public void setConsultorioDto(ConsultorioDto consultorioDto) {
		this.consultorioDto = consultorioDto;
	}
	
}
